1. Field of the Invention
The present invention relates to software systems (e.g., world wide web browsers) and processes used to render and otherwise manifest content (e.g., HTML content, etc.) received via a network.
2. Description of the Related Art
Software packages used to receive content from server systems located on a network of computer systems such as the Internet are well known. One such class of software packages known as world wide web browsers or web “clients” and “browsers” are used by millions of computer users everyday to access Internet sites, receive dynamic content therefrom, and manifest the same on video monitors, through audio subsystems, on printers, etc. In fact, the increased popularity of the Internet has made the web browser a staple computing tool much like word processors and electronic spreadsheets.
Typically, web browsers are designed and implemented to receive and manifest hyper-text data or content (files) formatted in accordance with a standard content rendering scheme such as one known as the hyper-text markup language (HTML). HTML is a content rendering definition that allows text, graphics, and other data objects to be included within a data file (a source file) along with layout instructions or tags (tag pairs) that guide and instruct a web browser layout engine in the layout and rendition of the HTML data included within the data file. Well formed HTML “documents” are well known by those skilled in the art.
Despite their ability to render content formatted in accordance with HTML standards, currently available web browsers are “hard-coded” in terms of their ability to receive, interpret, and render content within a client computing environment. That is, current web browsers operate on an assumption that they will receive well formed content HTML according to a particular type definition that is known by such web browsers a priori. Although robust content rendering models have been developed and deployed, current-day web browsers remain static in terms of their ability to receive and render content that must fit particular well known rendering schemes (e.g., such as those defined by many versions of HTML, etc.).
To address the limitations of web browsers to receive rich content and data of variant data types and definitions, web browser developers have defined and implemented elaborate schemes by which their web browsers may be enhanced. For example, many web browsers allow “plug-in” or “helper” applications to be loaded (during browser runtime) to facilitate the receipt and manifestation of content received from a remote server system. For example, many web browsers allow sound-manifestation modules (plug-ins) to be loaded to allow a web browser to manifest sound and music data through an audio subsystem coupled to a user's personal computer.
Unfortunately, the ability to load plug-in and helper applications to handle and manage particular types of data that may be received via a network connection has led to larger browser programs, the inability to immediately manifest content, and frustration on the part of users who are constantly faced with having to locate, download, and wait for a particular, up-to-date plug-in or helper application.
In addition to plug-ins and helper applications, the advent and inclusion of JAVA™ and related systems has eased the problems associated with dynamic alteration of web browser environments to facilitate dynamic manifestation of content and data within a web browser environment. Unfortunately, like plug-ins and helper applications, JAVA and derivatives thereof require certain infrastructures that must be known to a web browser environment a priori. For example, in the case of interpreted JAVA, a language interpreter must be loaded during browser runtime and take control of the browser environment to process and, possibly, render content received via a network connection. There is no way for the browser or any of its control facilities to affect the processes within the JAVA environment, which, in effect, runs independently of the rendering systems and models that are already included within the browser environment.
Accordingly, currently there is no way for web browser programs to dynamically change themselves to recognize content which may be formatted according to a document data type definition that is new or otherwise not currently known to such programs at runtime. In other words, currently there is no way for a web browser program to receive, interpret, and manifest content that is formatted according to a document type definition that is not known a priori. As such, web browser programs continue to remain as relatively static environments that can process only a limited amount of data and content based on only a limited set of document and data type definitions.
Thus, there exists a need for a new and improved web browser or network client that can be dynamically altered (during runtime) to facilitate the receipt, interpretation, processing, and manifestation of content and data formatted according to a document type definition that is otherwise not known a priori. To be viable, such a new and improved network client must be able to efficiently process document type definitions that are received contemporaneously with correspondingly formatted documents from network services, etc..